package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.uqbike.object.pojo.RechargeGive;
import com.tbit.uqbike.object.pojo.vo.RechargeConfigVO;
import com.tbit.uqbike.object.pojo.vo.RechargeGiveNameVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author chenmengran
 * @Description: 充值赠送
 * @date 2019\12\28 002815:58
 */
public interface RechargeGiveDao {

    /**
     * 添加充值赠送
     *
     * @param rechargeGive .
     */
    void insertUP(RechargeGive rechargeGive);

    /**
     * 更新
     *
     * @param rechargeGive
     */
    void update(RechargeGive rechargeGive);

    /**
     * 获取赠送配置分页数据
     *
     * @param params 参数
     * @return 记录条数
     */
    List<RechargeConfigVO> rechargeConfigListPage(Map<String, Object> params);

    /**
     * 根据id查询充值赠送
     *
     * @param rechargeGiveId
     * @return
     */
    RechargeGive select(Integer rechargeGiveId);

    /**
     * 根据代理id和基础金额查询
     *
     * @param params
     * @return
     */
    List<RechargeGive> getByBase(Map<String, Object> params);

    /**
     * 删除充值赠送
     *
     * @param rechargeGiveId
     */
    void delById(Integer rechargeGiveId);


    /**
     * 查询优惠券绑定了赠送配置的区域
     *
     * @param couponId .
     * @return .
     */
    List<RechargeGiveNameVO> queryRechargeGiveNameListByCouponId(@Param("couponId") Integer couponId);

    /**
     * 根据赠送配置id删除赠送关联
     *
     * @param rechargeConfigId 赠送配置id
     */
    void deleteByRechargeConfigId(Integer rechargeConfigId);

    /**
     * 根据赠送配置id查询赠送数据。
     *
     * @param rechargeConfigId 赠送配置id
     * @return .
     */
    RechargeGive selectByRechargeConfigId(Integer rechargeConfigId);

    /**
     * 获取赠送配置详情
     *
     * @param rechargeConfigId 赠送配置id
     * @return 。
     */
    RechargeConfigVO selectRechargeConfigById(Integer rechargeConfigId);
}
